The present invention relates generally to computer network communications, and more specifically to techniques for providing remote survivable DHCP protocols implemented over to computer network.
The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a Internet (e.g., TCP/IP) network. Typically a DHCP server provides configuration parameters specific to a DHCP client host requesting information to participate on the Internet network. DHCP also provides a mechanism for allocation of IP addresses to hosts. Configuration parameters and other control information are carried in tagged data items that are stored in the ‘options’ field of the DHCP message.
DHCP is built on a client-server model, where designated DHCP server hosts allocate network addresses and deliver configuration parameters to dynamically configured hosts. Generally, DHCP is designed to supply DHCP clients with the necessary configuration parameters to enable a DHCP client to exchange packets with any other host in the Internet.
Another service provided by DHCP is the allocation of temporary or permanent network (IP) addresses to clients. The basic mechanism for the dynamic allocation of network addresses is simple: a client requests the use of an address for some period of time. The allocation mechanism (the collection of DHCP servers) guarantees not to reallocate that address within the requested time and attempts to return the same network address each time the client requests an address. The period over which a network address is allocated to a client is referred to as a “lease”. The client may extend its lease with subsequent requests. The client may issue a message to release the address back to the server when the client no longer needs the address. The client may ask for a permanent assignment by asking for an infinite lease. Even when assigning “permanent” addresses, a server may choose to give out lengthy but non-infinite leases to allow detection of the fact that the client has been retired.
Details of the Dynamic Host Configuration Protocol are described in RFC 2131 (“Dynamic Host Configuration Protocol”, R. Droms, March 1997) and RFC 2132 (“DHCP Options and BOOTP Vendor Extensions”, S. Alexander et al., March 1997), published by the Internet Engineering Task Force (www.ietf.org). Each of these references is incorporated herein by reference in its entirety for all purposes.
The following description provides a brief explanation of the various communications exchanged between a DHCP client and DHCP server for allocating a network address (e.g., and IP address). Initially, the client broadcasts a DHCPDISCOVER message on its local physical subnet. The DHCPDISCOVER message may include options that suggest values for the network address and lease duration. DHCP relay agents may pass the message on to DHCP servers not on the same physical subnet. A DHCP server may respond with a DHCPOFFER message that includes an available network address. When the client receives the DHCPOFFER messages from the DHCP server, it may respond by accepting the offer by sending a DHCPREQUEST message to the DHCP server. When the DHCP server receives the DHCPREQUEST broadcast from the client, it then commits the binding for the client to persistent storage and responds with a DHCPACK message containing the configuration parameters for the requesting client. The combination of ‘client identifier’ and assigned network address constitute a unique identifier for the client's lease and are used by both the client and server to identify a lease referred to in any DHCP messages. Assuming that the client receives the DHCPACK message, the configuration process is complete, and the client may begin using the assigned network address for the duration of the lease.
An issue may arise, however, if the client subsequently becomes temporarily disconnected from the network before the DHCP lease expires. For example, some devices (such as, for example, DOCSIS cable modems, client machines, routers, etc.) may a attempt to reacquire the DHCP lease from the DHCP server after being temporarily disconnected from the network, even when that device's current DHCP lease has not yet expired. This may result in an unnecessary consumption of network resources. Moreover, if the DHCP server is temporarily unavailable, the device will be unable to reacquire the DHCP lease and therefore unable to access other devices in the network.
Accordingly, it will be appreciated that there exists a need for improving DHCP-related operations in order to improve network performance and reliability.